{{tag>Lucid precise mathématiques éducation}}

----

====== Sagemath ======

Sagemath (ou Sage) est un logiciel de mathématiques sous licence libre (GPL). Il combine la puissance de nombreux programmes libres dans une interface commune basée sur le langage de programmation Python.

Sage a pour but de devenir une alternative libre aux logiciels Magma, Maple, Mathematica et Matlab.
Sage permet de faire des mathématiques générales et avancées, pures et appliquées. Il couvre une vaste gamme de mathématiques, dont l'algèbre, l'analyse, la théorie des nombres, la cryptographie, l'analyse numérique, l'algèbre commutative, la théorie des groupes, la combinatoire, la théorie des graphes, l'algèbre linéaire formelle, etc ...

===== Pré-requis =====
 
  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Sous Natty [[:tutoriel:comment_installer_un_paquet|installer le paquet]] [[apt>libgfortran3]] au préalable.
  * Sage 5.0 a besoin de la version 0.9.8 de libssl. Sous Ubuntu 12.04, la version par défaut est 1.0.0. Il faut donc installer libssl0.9.8. L'installation en ligne de commande est : 

  sudo apt-get install libssl0.9.8
===== Installation =====

==== Via le ppa ====
Il existe un [[:ppa]] pour l'installation de sage-math sous Ubuntu

  * [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|Ajoutez le PPA]] **ppa:aims/sagemath**((https://launchpad.net/~aims/+archive/sagemath)) dans vos sources de logiciels.

  sudo apt-add-repository -y ppa:aims/sagemath

  * [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]].

  sudo apt-get update

  *   [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] [[apt>sagemath-upstream-binary]]

  sudo apt-get install sagemath-upstream-binary
  
  <note help>Ce logiciel s'installe  essentiellement dans la librairie /usr/lib/sagemath pour une taille de 3,8 Go.   Les OS installés dans un SSD de petite taille  (24 Go) ont intérêt à prévoir cette installation sur un disque dur avec le point de montage prévu dans  le fichier /etc/fstab   avant de commencer cette installation.</note>
==== Via les binaires du site officiel ====

Depuis Lucid Lynx, Sagemath n'est plus dans les dépôts car les versions sont trop souvent mises à jour. Il faut donc aller télécharger les binaires sur le [[http://sagemath.org/download-linux.html|site officiel]]. Pour la plupart, le binaire à télécharger sera **sage-*.*.*-linux-32bit-ubuntu_10.04_lts-i686-Linux.tar.lzma** où *.*.* est le numéro de la version.

Une fois l'archive [[:archivage#graphiquement|décompressée]], vous obtenez un dossier nommé **sage-*.*.*-linux-32bit-ubuntu_10.04_lts-i686-Linux** qui contient déjà toute l'arborescence nécessaire au fonctionnement du programme Sage.

Normalement, tout ce que vous avez à faire est de lancer le programme Sage avec un fichier de données Sage (du type nom.sage). Si vous lancez le programme Sage seul, vous obtenez une ligne de commande qui attendra vos commandes Sage, par exemple une équation mathématique. Voir [[#utilisation|Utilisation]] plus bas.

<note warning>Vous ne devrez pas installer Sage dans la partie système (en copiant ou déplaçant les fichiers dans /usr) , le programme de lancement automatique Sage vous demandera de [[#via_une_compilation_des_sources|reconfigurer la variable SAGE_ROOT]].</note>

Vous pouvez créer un lanceur Gnome/KDE pour le Bureau ou le menu Applications, [[http://www.sagemath.org/doc/installation/icon.html|lire ici]].

==== Via une compilation des sources ====

<note important>Vous ne devrez compiler les sources que pour utiliser la dernière version de Sage; si vous êtes débutant, n'utilisez pas cette méthode (bah, c'est pas la mort non plus). La  compilation doit être effectuée en tant qu'utilisateur de base, **il n'est pas recommandé de compiler Sage en tant que root !**</note>

Voici comment installer la dernière version de Sage et en donner l'usage à tous les utilisateurs du système. Si vous lisez l'anglais, reportez-vous à http://doc.sagemath.org/html/en/installation/source.html

  * [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://gcc,g++,make,m4,perl,ranlib,tar,build-essential,gfortran|gcc g++ make m4 perl ranlib tar build-essential gfortran]]**.
  * (optionnel mais recommandé): [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://readline-common,libreadline-dev|readline-common libreadline-dev]]**
  * Télécharger le code source sur [[http://sagemath.org/download-source.html|le site officiel]] (le fichier a un nom du type: //sage-numero_de_version.tar//), et le placer dans votre Dossier personnel.
  * [[:archivage#graphiquement|Décompresser]] l'archive.
  * Pour installer Sagemath pour tous les utilisateurs du système, déplacer le dossier décompressé dans un endroit plus convenu, par exemple : <code>sudo mv sage-numero_de_version /usr/local/share/</code>
  * Aller dans le dossier d'installation : <code>cd /usr/local/share/sage-numero_de_version</code>
  * Vous pouvez guider la compilation afin de la rendre plus rapide. 
      * Par exemple, si vous avez un ordinateur récent, vous pouvez taper (afin d'éviter de nombreuses compilations d'atlas : <code>export SAGE_ATLAS_ARCH=fast</code>
      * alors que si votre ordinateur ests vieux, vous pouvez taper: <code>export SAGE_ATLAS_ARCH=base</code>
      * Si vous avez 2 coeurs, vous pouvez compiler en parallèle en tapant (remplacer 2 par le nombre de coeurs si vous en avez plus): <code>export MAKE='make -j2'</code>
  * Lancer la compilation :
<code>make</code>

<note important>Cette opération prend plusieurs heures même avec une machine puissante.</note>

=== Configuration ===

  * Copier les [[:tutoriel/script_shell|scripts shell]] //sage// et //bash-python// dans un dossier du //PATH//, en saisissant dans un [[terminal]] les commandes suivantes:
<code>sudo cp sage /usr/local/bin/
sudo cp sage-python /usr/local/bin/</code>
  * [[:tutoriel/comment_modifier_un_fichier#de_maniere_graphique|Éditer]] le chemin de l'installation dans le script //sage// (généralement // /usr/local/bin/sage //) en mode administrateur.
⇒ Remplacer l'expression suivante : <code>SAGE_ROOT="....."</code>
par <code>SAGE_ROOT="/usr/local/share/sage-numero_de_version/"</code>
⇒ Enregistrer et fermer le fichier.

  * Rendre les scripts exécutables (il faut être dans le dossier // /usr/local/bin/ //).
<code>sudo chmod a+x sage
sudo chmod a+x sage-python</code>

  * Au cas où une version antérieure aurait été installée, on vérifie que l'instruction //sage// pointe bien sur le script désiré.
<code>which sage</code>

<note important>Lors du premier démarrage de Sage, un mot de passe pour le compte administrateur "admin" de Sage vous sera demandé. Notez bien ce mot de passe, au cas où la connexion automatique de Sage sur l'interface dans le navigateur serait désactivée. Sans quoi, vous ne pourriez plus accéder à Sage dans votre navigateur, ni créer de nouvelles sessions. En dernier recours, vous pouvez réinitialiser le mot de passe pour l'utilisateur admin en entrant cette commande dans un terminal:
<code>sage</code>
puis
<code>notebook(reset=True)</code>

Un nouveau mot de passe vous sera alors demandé.
</note>



===== Utilisation =====

==== Lancer sage en tant que simple utilisateur ====

Il suffit de lancer la [[commande shell]] suivante dans un [[terminal]]:

<code>sage</code>
On obtient quelque chose comme:

''- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\\
| Sage Version 4.3.5, Release Date: 2010-03-2        '' '' '' '' '' ''|
\\
| Type notebook() for the GUI, and license() for information.'' '' '' '' '' ''|\\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\\
sage: ''

À l'invite, on frappe «''2+2'' », puis on valide par la combinaison: ''<Maj><Entr>''.\\

Si l'on veut lancer l'interface web de Sage, il faut lancer dans un terminal :
<code>sage -n</code>
Le navigateur par défaut s'ouvre (port 8000 sur localhost).\\
Pour fermer correctement le serveur, clore le navigateur puis faire un Ctrl-C dans le terminal.

====Quitter l'application====

Pour quitter sage : la commande //quit// dans l'interpréteur Sage suffit suivi d'une validation (touche au clavier //Return// ou //Entrée//).

===== Voir aussi =====

  * [[http://www.sagemath.org/|Le site officiel]]
  * [[http://www.sagemath.fr/|Le site officiel français]]
  * [[http://groups.google.com/group/sage-support/|L'aide officielle en ligne par mail et en anglais]]
  * [[http://sagemath-edu.fr/wiki|Le wiki francophone]]
  * [[http://sagemath.org/download-livecd.html|Téléchargez Sagemath en LiveCD]]
  * [[https://forum.ubuntu-fr.org/viewtopic.php?id=1837661|Cette discussion]] pour d'autres infos pratiques et **récentes** (installation...)

----
//Contributeurs: Valère Bonnet, [[:utilisateurs/j5012|J5012]]//, --- //[[:utilisateurs:Romuald-25|Romuald-25]].